package com.wuxu.aspectj.java;


import android.util.Log;

import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.reflect.MethodSignature;

import java.lang.reflect.Method;


/**
 * @author wuxu
 * @date 2024/7/9 14:34
 * @description java代码中，捕获kotlin中的方法
 *
 * 1.首次测试，没有捕获到。java获取kotlin中的方法有问题，看来得调整gradle中的配置，猜测跟javaArgs数组有关
 *
 * 经过测试、查找资料，AspectJ不支持 java与kotlin混合调用
 */
@Aspect
public class AspectMainActivityOnCreate {
    String TAG = "tttt-AspectMainActivityOnCreate";

    @Pointcut("execution(* com.wuxu.aspectj.MainActivity.onCreate(..))")
    public void debugLog(){}


    @Before("debugLog()")
    public void beforeTest(JoinPoint joinPoint) {
        Log.d(TAG, "--before MainActivity()"+joinPoint.getSignature());
    }
}
